Portable electronic devices, such as those configured to be handheld or otherwise associated with a user, are employed in a wide variety of applications and environments. The ubiquity of such devices as mobile phones, digital still cameras and video cameras, handheld music and media players, portable video game devices and controllers, mobile internet devices (MIDs), personal navigation devices (PNDs), and other similar devices speaks the popularity and desire for these types of devices. Increasingly, such devices are equipped with one or more sensors or other systems for determining the position or motion of the portable device. Exemplary applications for such capabilities are to provide the user with navigational assistance and to enable location awareness so that the device may provide data relevant to the geographical position of the user or otherwise customize operation of the device.
Common techniques for achieving these goals include reference-based systems that utilize external sources of information to make absolute determinations. Examples include satellite-based navigation, such as a Global Navigation Satellite System (GNSS), and signal trilateration using wireless local area networks (WLANs) or cellular telecommunication systems. Other navigational techniques include self-contained strategies, such as dead reckoning determinations based upon the integration of specific forces and angular rates measured by inertial sensors (e.g. accelerometer, gyroscopes) integrated into the device.
As will be appreciated, despite the utility of such techniques, usage conditions may result in less than optimal performance. Satellite navigation relies on a clear line of sight which may not always be available while wireless signal trilateration does not always achieve a desired degree of precision and may require infrastructure that may not be present. Likewise, self-contained solutions may also be deficient at times. For example, inertial navigation determinations may be complicated when the portable device is employed in varying orientations. Further, the inertial sensors typically used in portable devices are subject to errors that may cause a dead reckoning navigational solution to degrade relative rapidly.
Given that existing positional and navigational techniques may suffer from these and other drawbacks, it would be desirable to provide an additional source of information that may be used in determine a positional and/or navigational solution. For example, it would be desirable to provide an independent positional and/or navigational solution when other techniques are unavailable or are compromised. It would also be desirable to augment an existing technique to improve performance, such as by determining a constraint that may be applied to the existing technique. Still further, it would be desirable to use an optical sensor, such as a camera that may commonly be provided with such portable devices. Accordingly, this disclosure satisfies these and other goals as described in the following materials.